package gen

// FieldColumnConfig 列属性
type FieldColumnConfig struct {
	// 是否是标签展示
	Tag bool `json:"tag"`
	//标签显示
	IsShow bool `json:"isShow"`
	//宽度
	Width any `json:"width"`
	//对其方式
	Align string `json:"align"`
}

type FieldSearchConfig struct {
	// 当前项搜索框的类型
	FormType string `json:"form_type,omitempty"`
	// 搜索项参数，根据 element plus 官方文档来传递，该属性所有值会透传到组件
	Props interface{} `json:"props,omitempty"`
	// 搜索项排序（从大到小）
	Order int `json:"order,omitempty"`
	// 搜索项所占用的列数，默认为1列
	Span int `json:"span,omitempty"`
	// 搜索字段左侧偏移列数
	Offset int `json:"offset,omitempty"`
	// 搜索项默认值
	DefaultValue interface{} `json:"default_value,omitempty"`
}

type EnumProps struct {
	Label                string                 `json:"label,omitempty"`
	Value                interface{}            `json:"value,omitempty"`
	Disabled             bool                   `json:"disabled,omitempty"`
	TagType              string                 `json:"tagType,omitempty"`
	Children             []*EnumProps           `json:"children,omitempty"`
	AdditionalProperties map[string]interface{} `json:"additionalProperties"`
}

type FieldOptionsProps struct {
	Label    string `json:"label"`
	Value    string `json:"value"`
	Children string `json:"children,omitempty"`
}
